/**
 * A tool call contains all information required to execute a tool.
 * It can be generated by a language model.
 *
 * @template NAME - The name of the tool as a string.
 * @template PARAMETERS - The parameters for the tool.
 */
export interface ToolCall<NAME extends string, PARAMETERS> {
  /** The id of the tool call. */
  id: string;

  /** The name of the tool. */
  name: NAME;

  /** The arguments for the tool. */
  args: PARAMETERS;
}
